home *** CD-ROM | disk | FTP | other *** search
/ Nebula 2 / Nebula Two.iso / SourceCode / NMK / Recorders / RButtonVars.m < prev    next >
Text File  |  1995-06-12  |  2KB  |  111 lines

  1. /***** RButtonVars.m -- ButtonCellCover variable holder object implementation
  2.     NeXTstep Measurement Kit
  3.     by Alex Meyer <ameyer@phoenix.Princeton.EDU>
  4.     for computer science senior thesis
  5.     24 April 1992 -- created to hold variables for ButtonCellCover
  6. *****/
  7.  
  8. #import <stdlib.h>
  9. #import <stdio.h>
  10. #import <string.h>
  11. #import <appkit/Application.h>
  12. #import "RButtonVars.h"
  13.  
  14. @implementation RButtonVars
  15.  
  16. - init    /* must be initialized as below */
  17. {
  18.     [self free];
  19.     return (nil);
  20. }
  21.  
  22.  
  23. - initString:(const char *)str
  24.     tag:(int)tg
  25.     rect:(const NXRect *)rect
  26. {
  27.     char temp[512];
  28.  
  29.     [super init];
  30.     linker = NXGetNamedObject(LINKERNAME,NXApp);
  31.     sprintf(temp,"%s|%d|%f|%f|%f|%f",str,tg,
  32.         rect->origin.x,rect->origin.y,
  33.         rect->size.width,rect->size.height);
  34.     key = NXUniqueString(temp);
  35.     lastHitTime = 0;
  36.     stats.numHits = 0;
  37.     stats.numCancel = 0;
  38.     stats.timeIn = 0;
  39.     stats.timeBetween = 0;
  40.     [linker connect:self];
  41.     return (self);
  42. }
  43.  
  44.  
  45. - incHits
  46. {
  47.     ++stats.numHits;
  48.     return (self);
  49. }
  50.  
  51.  
  52. - incCancel
  53. {
  54.     ++stats.numCancel;
  55.     return (self);
  56. }
  57.  
  58.  
  59. - timeFrom:(double)time0
  60.     to:(double)time1
  61. {
  62.     stats.timeIn += time1 - time0;
  63.     if (lastHitTime)
  64.         stats.timeBetween += time0 - lastHitTime;
  65.     lastHitTime = time1;
  66.     return (self);
  67. }
  68.  
  69.  
  70. - (unsigned)type
  71. {
  72.     return (TM_BUTTON);
  73. }
  74.  
  75.  
  76. - (NXAtom)key
  77. {
  78.     return (key);
  79. }
  80.  
  81.  
  82. - (NXAtom)desc
  83. {
  84.     return (NXUniqueString("{iidd}"));
  85. }
  86.  
  87.  
  88. - (unsigned)statsSize
  89. {
  90.     return (sizeof(stats));
  91. }
  92.  
  93.  
  94. - (void *)copyOfStats
  95. {
  96.     void *cpy;
  97.  
  98.     cpy = malloc(sizeof(stats));
  99.     memcpy(cpy,&stats,sizeof(stats));
  100.     return (cpy);
  101. }
  102.  
  103.  
  104. - copyInStats:(void *)NewStats
  105. {
  106.     memcpy(&stats,NewStats,sizeof(stats));
  107.     return (self);
  108. }
  109.  
  110. @end
  111.